package tr.edu.ege.kipler.common;

import java.util.Set;

/**
 * An hash map interface that can store multiple values for a single key.
 * 
 * @author İnanç Seylan
 */
public interface MultivalueMap<K, V> {
	public void put(K key, V value);

	public boolean containsKey(K key);

	public boolean containsValue(V value);

	public boolean containsKeyValue(K key, V value);

	public Set<K> keySet();

	public void remove(K key);

	public void remove(K key, V value);

	public Set<V> getValuesForKey(K key);

	public Set<V> values();
}
